/**
 * 使用方法

// import { toLogin } from "@/api/login.js"

// created() {
// 	this.judgeLogin()
// },

// methods: {
// 	// 判断是否登录
// 	judgeLogin() {
// 		const value = uni.getStorageSync('token');
// 		if (value) {
// 			console.log('已登录');
// 			this.isLogin = true
// 		} else {
// 			console.log('未登录');
// 			this.isLogin = false
// 		}
// 	},
// }

 */
import {
	basUrl
} from "@/common/basUrl.js"

// 获取用户信息
let getUserInfo = function() {
	return new Promise((resolve, reject) => {
		uni.getUserProfile({
			lang: 'zh_CN',
			desc: '用户登录', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，
			success: (res) => {
				// 返回用户信息
				console.log('用户信息', res);
				resolve(res)
			},
			fail: (err) => {
				uni.showToast({
					icon: 'error',
					title: '用户取消授权'
				})
				reject(err)
			}
		})
	})
}
// 获取code => openid
let getLogin = function() {
	return new Promise((resolve, reject) => {
		uni.login({
			success(res) {
				// 获取code res.code
				console.log('res', res);
				uni.request({
					url: basUrl + '/user/test?code=' + res.code,
					method: "GET",
					
				}).then((res) => {
					// 返回 openid
					console.log('获取openid', res);
					resolve(res)
				}).catch((err) => {
					console.log('连接错误', err);
					reject(err)
				})
			},
			fail: (err) => {
				reject(err)
				console.log(err, 'loginerr')
			}
		})
	})
}
// 获取经纬度
let getLocation = function() {
	return new Promise((resolve, reject) => {
		wx.getSetting({
			success: (res) => {
				// console.log(JSON.stringify(res))
				// res.authSetting['scope.userLocation'] == undefined  表示 初始化进入该页面
				// res.authSetting['scope.userLocation'] == false  表示 非初始化进入该页面,且未授权
				// res.authSetting['scope.userLocation'] == true  表示 地理位置授权
				if (res.authSetting['scope.userLocation'] != undefined && res.authSetting[
						'scope.userLocation'] != true) {
					wx.showModal({
						title: '请求授权当前位置',
						content: '需要获取您的地理位置，请确认授权',
						success: function(res) {
							if (res.cancel) {
								wx.showToast({
									title: '拒绝授权',
									icon: 'none',
									duration: 1000
								})
							} else {
								wx.openSetting({
									success: function(dataAu) {
										if (dataAu.authSetting[
												"scope.userLocation"] ==
											true) {
											wx.showToast({
												title: '授权成功',
												icon: 'success',
												duration: 1000
											})
											//再次授权，调用wx.getLocation的API
										} else {
											wx.showToast({
												title: '授权失败',
												icon: 'none',
												duration: 1000
											})
										}
									},
									fail(err) {
										reject(err)
									}
								})
							}
						}
					})
				} else {
					uni.getLocation({
						type: 'wgs84',
						success: function(res) {
							// 返回经纬度
							resolve(res)
							// console.log('当前位置的经度：' + res.longitude);
							// console.log('当前位置的纬度：' + res.latitude);
						}
					});
				}
			}
		})
	})
}

// 登录接口
export function toLogin(that) {
	uni.getProvider({
		service: 'oauth',
		success: function(res) {
			//支持微信、qq和微博等
			if (~res.provider.indexOf('weixin')) {
				// console.log(res, 'ress')
				let userInfo = getUserInfo();
				let loginRes = getLogin();
				let location = getLocation();
				Promise.all([userInfo, loginRes, location]).then((result) => {
					console.log('大大大大大大哥', result);
					uni.setStorageSync('location', result[2]);
					const userInfo = result[0].userInfo;
					const encryptedData = result[0].encryptedData;
					const iv = result[0].iv;
					const openId = result[1].data.openId;
					uni.request({
						url: basUrl + '/chalichaqi/gettoken',
						method: "POST",
						data: {
							encryptedData: encryptedData,
							iv: iv,
							openId: openId,
							
						}
					}).then((res) => {
						console.log('获取token：', res);
						// uni.setStorageSync('token', res[1].data.data);
					}).then(() => {
						uni.hideLoading()
						that.onload()
					}).catch(err => {
						uni.hideLoading();
						uni.showToast({
							icon: 'none',
							title: err
						})
					})
				})
			}
		},
		fail: function(err) {
			uni.hideLoading();
			uni.showToast({
				icon: 'none',
				title: err
			})
		}
	})
}
